package com.youlai.boot.gym.service;

import com.youlai.boot.gym.model.entity.ClassSchedules;
import com.youlai.boot.gym.model.form.ClassSchedulesForm;
import com.youlai.boot.gym.model.query.ClassSchedulesQuery;
import com.youlai.boot.gym.model.vo.ClassSchedulesVO;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.service.IService;

/**
 * 课程安排服务类
 *
 * @author hxc
 * @since 2025-06-01 15:47
 */
public interface ClassSchedulesService extends IService<ClassSchedules> {

    /**
     *课程安排分页列表
     *
     * @return {@link IPage<ClassSchedulesVO>} 课程安排分页列表
     */
    IPage<ClassSchedulesVO> getClassSchedulesPage(ClassSchedulesQuery queryParams);

    /**
     * 获取课程安排表单数据
     *
     * @param id 课程安排ID
     * @return 课程安排表单数据
     */
     ClassSchedulesForm getClassSchedulesFormData(Long id);

    /**
     * 新增课程安排
     *
     * @param formData 课程安排表单对象
     * @return 是否新增成功
     */
    boolean saveClassSchedules(ClassSchedulesForm formData);

    /**
     * 修改课程安排
     *
     * @param id   课程安排ID
     * @param formData 课程安排表单对象
     * @return 是否修改成功
     */
    boolean updateClassSchedules(Long id, ClassSchedulesForm formData);

    /**
     * 删除课程安排
     *
     * @param ids 课程安排ID，多个以英文逗号(,)分割
     * @return 是否删除成功
     */
    boolean deleteClassScheduless(String ids);

}
